Today's microcontrollers and other processors are getting more and more complicated. However, customers using microcontrollers demand: 1) first time programming success by minimizing bugs and with better initial debug; 2) quick cycle time for program writing and debugging programs; 3) lesser PPM production line fallout (requires better debug capability); 4) increasing system integrity checks in the end applications; and 5) verification that ROM codes are correctly implemented.
Breakpoint operations are one way to accomplish these objectives, but are used only at the time of debug of the customer code. Breakpoint operations are not used in the normal operation mode of microprocessors or microcontrollers. As a result of this minimal usage, it is difficult to justify incorporating such a function (in its entirety) in devices going into volume production. However, as the demand for faster initial end product development cycle times increases and the need for debug capability required to reduce PPM fallout during production for `unknown` causes increases, this breakpoint feature becomes essential.
An additional feature that is used to accomplish these objectives is parallel signature analysis (PSA). PSA logic typically accumulates data from a bus and compares it to previous accumulation value.
Both of these features (PSA and breakpoint) are typically implemented using two separate registers and sets of control logic. Thus, there are still unmet needs for registers capable of providing multiple functions.